/****************************************************************************
*  Copyright 2021 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com)       *
*                                                                           *
*  Licensed under the Apache License, Version 2.0 (the "License");          *
*  you may not use this file except in compliance with the License.         *
*  You may obtain a copy of the License at                                  *
*                                                                           *
*     http://www.apache.org/licenses/LICENSE-2.0                            *
*                                                                           *
*  Unless required by applicable law or agreed to in writing, software      *
*  distributed under the License is distributed on an "AS IS" BASIS,        *
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
*  See the License for the specific language governing permissions and      *
*  limitations under the License.                                           *
*                                                                           *
****************************************************************************/

#ifndef __MACRO_REPEAT_H__
#define __MACRO_REPEAT_H__

#include "connect.h"


#define MACRO_REPEAT(__IDX, __MACRO, ...)    CONNECT2(MACRO_REPEAT, __IDX)(__MACRO, __VA_ARGS__)

#define MACRO_REPEAT0(  __MACRO, ...)
#define MACRO_REPEAT1(  __MACRO, ...)       MACRO_REPEAT0(  __MACRO,## __VA_ARGS__)   __MACRO(  0, ##__VA_ARGS__)
#define MACRO_REPEAT2(  __MACRO, ...)       MACRO_REPEAT1(  __MACRO,## __VA_ARGS__)   __MACRO(  1, ##__VA_ARGS__)
#define MACRO_REPEAT3(  __MACRO, ...)       MACRO_REPEAT2(  __MACRO,## __VA_ARGS__)   __MACRO(  2, ##__VA_ARGS__)
#define MACRO_REPEAT4(  __MACRO, ...)       MACRO_REPEAT3(  __MACRO,## __VA_ARGS__)   __MACRO(  3, ##__VA_ARGS__)
#define MACRO_REPEAT5(  __MACRO, ...)       MACRO_REPEAT4(  __MACRO,## __VA_ARGS__)   __MACRO(  4, ##__VA_ARGS__)
#define MACRO_REPEAT6(  __MACRO, ...)       MACRO_REPEAT5(  __MACRO,## __VA_ARGS__)   __MACRO(  5, ##__VA_ARGS__)
#define MACRO_REPEAT7(  __MACRO, ...)       MACRO_REPEAT6(  __MACRO,## __VA_ARGS__)   __MACRO(  6, ##__VA_ARGS__)
#define MACRO_REPEAT8(  __MACRO, ...)       MACRO_REPEAT7(  __MACRO,## __VA_ARGS__)   __MACRO(  7, ##__VA_ARGS__)
#define MACRO_REPEAT9(  __MACRO, ...)       MACRO_REPEAT8(  __MACRO,## __VA_ARGS__)   __MACRO(  8, ##__VA_ARGS__)
#define MACRO_REPEAT10( __MACRO, ...)       MACRO_REPEAT9(  __MACRO,## __VA_ARGS__)   __MACRO(  9, ##__VA_ARGS__)
#define MACRO_REPEAT11( __MACRO, ...)       MACRO_REPEAT10( __MACRO,## __VA_ARGS__)   __MACRO( 10, ##__VA_ARGS__)
#define MACRO_REPEAT12( __MACRO, ...)       MACRO_REPEAT11( __MACRO,## __VA_ARGS__)   __MACRO( 11, ##__VA_ARGS__)
#define MACRO_REPEAT13( __MACRO, ...)       MACRO_REPEAT12( __MACRO,## __VA_ARGS__)   __MACRO( 12, ##__VA_ARGS__)
#define MACRO_REPEAT14( __MACRO, ...)       MACRO_REPEAT13( __MACRO,## __VA_ARGS__)   __MACRO( 13, ##__VA_ARGS__)
#define MACRO_REPEAT15( __MACRO, ...)       MACRO_REPEAT14( __MACRO,## __VA_ARGS__)   __MACRO( 14, ##__VA_ARGS__)
#define MACRO_REPEAT16( __MACRO, ...)       MACRO_REPEAT15( __MACRO,## __VA_ARGS__)   __MACRO( 15, ##__VA_ARGS__)
#define MACRO_REPEAT17( __MACRO, ...)       MACRO_REPEAT16( __MACRO,## __VA_ARGS__)   __MACRO( 16, ##__VA_ARGS__)
#define MACRO_REPEAT18( __MACRO, ...)       MACRO_REPEAT17( __MACRO,## __VA_ARGS__)   __MACRO( 17, ##__VA_ARGS__)
#define MACRO_REPEAT19( __MACRO, ...)       MACRO_REPEAT18( __MACRO,## __VA_ARGS__)   __MACRO( 18, ##__VA_ARGS__)
#define MACRO_REPEAT20( __MACRO, ...)       MACRO_REPEAT19( __MACRO,## __VA_ARGS__)   __MACRO( 19, ##__VA_ARGS__)
#define MACRO_REPEAT21( __MACRO, ...)       MACRO_REPEAT20( __MACRO,## __VA_ARGS__)   __MACRO( 20, ##__VA_ARGS__)
#define MACRO_REPEAT22( __MACRO, ...)       MACRO_REPEAT21( __MACRO,## __VA_ARGS__)   __MACRO( 21, ##__VA_ARGS__)
#define MACRO_REPEAT23( __MACRO, ...)       MACRO_REPEAT22( __MACRO,## __VA_ARGS__)   __MACRO( 22, ##__VA_ARGS__)
#define MACRO_REPEAT24( __MACRO, ...)       MACRO_REPEAT23( __MACRO,## __VA_ARGS__)   __MACRO( 23, ##__VA_ARGS__)
#define MACRO_REPEAT25( __MACRO, ...)       MACRO_REPEAT24( __MACRO,## __VA_ARGS__)   __MACRO( 24, ##__VA_ARGS__)
#define MACRO_REPEAT26( __MACRO, ...)       MACRO_REPEAT25( __MACRO,## __VA_ARGS__)   __MACRO( 25, ##__VA_ARGS__)
#define MACRO_REPEAT27( __MACRO, ...)       MACRO_REPEAT26( __MACRO,## __VA_ARGS__)   __MACRO( 26, ##__VA_ARGS__)
#define MACRO_REPEAT28( __MACRO, ...)       MACRO_REPEAT27( __MACRO,## __VA_ARGS__)   __MACRO( 27, ##__VA_ARGS__)
#define MACRO_REPEAT29( __MACRO, ...)       MACRO_REPEAT28( __MACRO,## __VA_ARGS__)   __MACRO( 28, ##__VA_ARGS__)
#define MACRO_REPEAT30( __MACRO, ...)       MACRO_REPEAT29( __MACRO,## __VA_ARGS__)   __MACRO( 29, ##__VA_ARGS__)
#define MACRO_REPEAT31( __MACRO, ...)       MACRO_REPEAT30( __MACRO,## __VA_ARGS__)   __MACRO( 30, ##__VA_ARGS__)
#define MACRO_REPEAT32( __MACRO, ...)       MACRO_REPEAT31( __MACRO,## __VA_ARGS__)   __MACRO( 31, ##__VA_ARGS__)
#define MACRO_REPEAT33( __MACRO, ...)       MACRO_REPEAT32( __MACRO,## __VA_ARGS__)   __MACRO( 32, ##__VA_ARGS__)
#define MACRO_REPEAT34( __MACRO, ...)       MACRO_REPEAT33( __MACRO,## __VA_ARGS__)   __MACRO( 33, ##__VA_ARGS__)
#define MACRO_REPEAT35( __MACRO, ...)       MACRO_REPEAT34( __MACRO,## __VA_ARGS__)   __MACRO( 34, ##__VA_ARGS__)
#define MACRO_REPEAT36( __MACRO, ...)       MACRO_REPEAT35( __MACRO,## __VA_ARGS__)   __MACRO( 35, ##__VA_ARGS__)
#define MACRO_REPEAT37( __MACRO, ...)       MACRO_REPEAT36( __MACRO,## __VA_ARGS__)   __MACRO( 36, ##__VA_ARGS__)
#define MACRO_REPEAT38( __MACRO, ...)       MACRO_REPEAT37( __MACRO,## __VA_ARGS__)   __MACRO( 37, ##__VA_ARGS__)
#define MACRO_REPEAT39( __MACRO, ...)       MACRO_REPEAT38( __MACRO,## __VA_ARGS__)   __MACRO( 38, ##__VA_ARGS__)
#define MACRO_REPEAT40( __MACRO, ...)       MACRO_REPEAT39( __MACRO,## __VA_ARGS__)   __MACRO( 39, ##__VA_ARGS__)
#define MACRO_REPEAT41( __MACRO, ...)       MACRO_REPEAT40( __MACRO,## __VA_ARGS__)   __MACRO( 40, ##__VA_ARGS__)
#define MACRO_REPEAT42( __MACRO, ...)       MACRO_REPEAT41( __MACRO,## __VA_ARGS__)   __MACRO( 41, ##__VA_ARGS__)
#define MACRO_REPEAT43( __MACRO, ...)       MACRO_REPEAT42( __MACRO,## __VA_ARGS__)   __MACRO( 42, ##__VA_ARGS__)
#define MACRO_REPEAT44( __MACRO, ...)       MACRO_REPEAT43( __MACRO,## __VA_ARGS__)   __MACRO( 43, ##__VA_ARGS__)
#define MACRO_REPEAT45( __MACRO, ...)       MACRO_REPEAT44( __MACRO,## __VA_ARGS__)   __MACRO( 44, ##__VA_ARGS__)
#define MACRO_REPEAT46( __MACRO, ...)       MACRO_REPEAT45( __MACRO,## __VA_ARGS__)   __MACRO( 45, ##__VA_ARGS__)
#define MACRO_REPEAT47( __MACRO, ...)       MACRO_REPEAT46( __MACRO,## __VA_ARGS__)   __MACRO( 46, ##__VA_ARGS__)
#define MACRO_REPEAT48( __MACRO, ...)       MACRO_REPEAT47( __MACRO,## __VA_ARGS__)   __MACRO( 47, ##__VA_ARGS__)
#define MACRO_REPEAT49( __MACRO, ...)       MACRO_REPEAT48( __MACRO,## __VA_ARGS__)   __MACRO( 48, ##__VA_ARGS__)
#define MACRO_REPEAT50( __MACRO, ...)       MACRO_REPEAT49( __MACRO,## __VA_ARGS__)   __MACRO( 49, ##__VA_ARGS__)
#define MACRO_REPEAT51( __MACRO, ...)       MACRO_REPEAT50( __MACRO,## __VA_ARGS__)   __MACRO( 50, ##__VA_ARGS__)
#define MACRO_REPEAT52( __MACRO, ...)       MACRO_REPEAT51( __MACRO,## __VA_ARGS__)   __MACRO( 51, ##__VA_ARGS__)
#define MACRO_REPEAT53( __MACRO, ...)       MACRO_REPEAT52( __MACRO,## __VA_ARGS__)   __MACRO( 52, ##__VA_ARGS__)
#define MACRO_REPEAT54( __MACRO, ...)       MACRO_REPEAT53( __MACRO,## __VA_ARGS__)   __MACRO( 53, ##__VA_ARGS__)
#define MACRO_REPEAT55( __MACRO, ...)       MACRO_REPEAT54( __MACRO,## __VA_ARGS__)   __MACRO( 54, ##__VA_ARGS__)
#define MACRO_REPEAT56( __MACRO, ...)       MACRO_REPEAT55( __MACRO,## __VA_ARGS__)   __MACRO( 55, ##__VA_ARGS__)
#define MACRO_REPEAT57( __MACRO, ...)       MACRO_REPEAT56( __MACRO,## __VA_ARGS__)   __MACRO( 56, ##__VA_ARGS__)
#define MACRO_REPEAT58( __MACRO, ...)       MACRO_REPEAT57( __MACRO,## __VA_ARGS__)   __MACRO( 57, ##__VA_ARGS__)
#define MACRO_REPEAT59( __MACRO, ...)       MACRO_REPEAT58( __MACRO,## __VA_ARGS__)   __MACRO( 58, ##__VA_ARGS__)
#define MACRO_REPEAT60( __MACRO, ...)       MACRO_REPEAT59( __MACRO,## __VA_ARGS__)   __MACRO( 59, ##__VA_ARGS__)
#define MACRO_REPEAT61( __MACRO, ...)       MACRO_REPEAT60( __MACRO,## __VA_ARGS__)   __MACRO( 60, ##__VA_ARGS__)
#define MACRO_REPEAT62( __MACRO, ...)       MACRO_REPEAT61( __MACRO,## __VA_ARGS__)   __MACRO( 61, ##__VA_ARGS__)
#define MACRO_REPEAT63( __MACRO, ...)       MACRO_REPEAT62( __MACRO,## __VA_ARGS__)   __MACRO( 62, ##__VA_ARGS__)
#define MACRO_REPEAT64( __MACRO, ...)       MACRO_REPEAT63( __MACRO,## __VA_ARGS__)   __MACRO( 63, ##__VA_ARGS__)
#define MACRO_REPEAT65( __MACRO, ...)       MACRO_REPEAT64( __MACRO,## __VA_ARGS__)   __MACRO( 64, ##__VA_ARGS__)
#define MACRO_REPEAT66( __MACRO, ...)       MACRO_REPEAT65( __MACRO,## __VA_ARGS__)   __MACRO( 65, ##__VA_ARGS__)
#define MACRO_REPEAT67( __MACRO, ...)       MACRO_REPEAT66( __MACRO,## __VA_ARGS__)   __MACRO( 66, ##__VA_ARGS__)
#define MACRO_REPEAT68( __MACRO, ...)       MACRO_REPEAT67( __MACRO,## __VA_ARGS__)   __MACRO( 67, ##__VA_ARGS__)
#define MACRO_REPEAT69( __MACRO, ...)       MACRO_REPEAT68( __MACRO,## __VA_ARGS__)   __MACRO( 68, ##__VA_ARGS__)
#define MACRO_REPEAT70( __MACRO, ...)       MACRO_REPEAT69( __MACRO,## __VA_ARGS__)   __MACRO( 69, ##__VA_ARGS__)
#define MACRO_REPEAT71( __MACRO, ...)       MACRO_REPEAT70( __MACRO,## __VA_ARGS__)   __MACRO( 70, ##__VA_ARGS__)
#define MACRO_REPEAT72( __MACRO, ...)       MACRO_REPEAT71( __MACRO,## __VA_ARGS__)   __MACRO( 71, ##__VA_ARGS__)
#define MACRO_REPEAT73( __MACRO, ...)       MACRO_REPEAT72( __MACRO,## __VA_ARGS__)   __MACRO( 72, ##__VA_ARGS__)
#define MACRO_REPEAT74( __MACRO, ...)       MACRO_REPEAT73( __MACRO,## __VA_ARGS__)   __MACRO( 73, ##__VA_ARGS__)
#define MACRO_REPEAT75( __MACRO, ...)       MACRO_REPEAT74( __MACRO,## __VA_ARGS__)   __MACRO( 74, ##__VA_ARGS__)
#define MACRO_REPEAT76( __MACRO, ...)       MACRO_REPEAT75( __MACRO,## __VA_ARGS__)   __MACRO( 75, ##__VA_ARGS__)
#define MACRO_REPEAT77( __MACRO, ...)       MACRO_REPEAT76( __MACRO,## __VA_ARGS__)   __MACRO( 76, ##__VA_ARGS__)
#define MACRO_REPEAT78( __MACRO, ...)       MACRO_REPEAT77( __MACRO,## __VA_ARGS__)   __MACRO( 77, ##__VA_ARGS__)
#define MACRO_REPEAT79( __MACRO, ...)       MACRO_REPEAT78( __MACRO,## __VA_ARGS__)   __MACRO( 78, ##__VA_ARGS__)
#define MACRO_REPEAT80( __MACRO, ...)       MACRO_REPEAT79( __MACRO,## __VA_ARGS__)   __MACRO( 79, ##__VA_ARGS__)
#define MACRO_REPEAT81( __MACRO, ...)       MACRO_REPEAT80( __MACRO,## __VA_ARGS__)   __MACRO( 80, ##__VA_ARGS__)
#define MACRO_REPEAT82( __MACRO, ...)       MACRO_REPEAT81( __MACRO,## __VA_ARGS__)   __MACRO( 81, ##__VA_ARGS__)
#define MACRO_REPEAT83( __MACRO, ...)       MACRO_REPEAT82( __MACRO,## __VA_ARGS__)   __MACRO( 82, ##__VA_ARGS__)
#define MACRO_REPEAT84( __MACRO, ...)       MACRO_REPEAT83( __MACRO,## __VA_ARGS__)   __MACRO( 83, ##__VA_ARGS__)
#define MACRO_REPEAT85( __MACRO, ...)       MACRO_REPEAT84( __MACRO,## __VA_ARGS__)   __MACRO( 84, ##__VA_ARGS__)
#define MACRO_REPEAT86( __MACRO, ...)       MACRO_REPEAT85( __MACRO,## __VA_ARGS__)   __MACRO( 85, ##__VA_ARGS__)
#define MACRO_REPEAT87( __MACRO, ...)       MACRO_REPEAT86( __MACRO,## __VA_ARGS__)   __MACRO( 86, ##__VA_ARGS__)
#define MACRO_REPEAT88( __MACRO, ...)       MACRO_REPEAT87( __MACRO,## __VA_ARGS__)   __MACRO( 87, ##__VA_ARGS__)
#define MACRO_REPEAT89( __MACRO, ...)       MACRO_REPEAT88( __MACRO,## __VA_ARGS__)   __MACRO( 88, ##__VA_ARGS__)
#define MACRO_REPEAT90( __MACRO, ...)       MACRO_REPEAT89( __MACRO,## __VA_ARGS__)   __MACRO( 89, ##__VA_ARGS__)
#define MACRO_REPEAT91( __MACRO, ...)       MACRO_REPEAT90( __MACRO,## __VA_ARGS__)   __MACRO( 90, ##__VA_ARGS__)
#define MACRO_REPEAT92( __MACRO, ...)       MACRO_REPEAT91( __MACRO,## __VA_ARGS__)   __MACRO( 91, ##__VA_ARGS__)
#define MACRO_REPEAT93( __MACRO, ...)       MACRO_REPEAT92( __MACRO,## __VA_ARGS__)   __MACRO( 92, ##__VA_ARGS__)
#define MACRO_REPEAT94( __MACRO, ...)       MACRO_REPEAT93( __MACRO,## __VA_ARGS__)   __MACRO( 93, ##__VA_ARGS__)
#define MACRO_REPEAT95( __MACRO, ...)       MACRO_REPEAT94( __MACRO,## __VA_ARGS__)   __MACRO( 94, ##__VA_ARGS__)
#define MACRO_REPEAT96( __MACRO, ...)       MACRO_REPEAT95( __MACRO,## __VA_ARGS__)   __MACRO( 95, ##__VA_ARGS__)
#define MACRO_REPEAT97( __MACRO, ...)       MACRO_REPEAT96( __MACRO,## __VA_ARGS__)   __MACRO( 96, ##__VA_ARGS__)
#define MACRO_REPEAT98( __MACRO, ...)       MACRO_REPEAT97( __MACRO,## __VA_ARGS__)   __MACRO( 97, ##__VA_ARGS__)
#define MACRO_REPEAT99( __MACRO, ...)       MACRO_REPEAT98( __MACRO,## __VA_ARGS__)   __MACRO( 98, ##__VA_ARGS__)
#define MACRO_REPEAT100(__MACRO, ...)       MACRO_REPEAT99( __MACRO,## __VA_ARGS__)   __MACRO( 99, ##__VA_ARGS__)
#define MACRO_REPEAT101(__MACRO, ...)       MACRO_REPEAT100(__MACRO,## __VA_ARGS__)   __MACRO(100, ##__VA_ARGS__)
#define MACRO_REPEAT102(__MACRO, ...)       MACRO_REPEAT101(__MACRO,## __VA_ARGS__)   __MACRO(101, ##__VA_ARGS__)
#define MACRO_REPEAT103(__MACRO, ...)       MACRO_REPEAT102(__MACRO,## __VA_ARGS__)   __MACRO(102, ##__VA_ARGS__)
#define MACRO_REPEAT104(__MACRO, ...)       MACRO_REPEAT103(__MACRO,## __VA_ARGS__)   __MACRO(103, ##__VA_ARGS__)
#define MACRO_REPEAT105(__MACRO, ...)       MACRO_REPEAT104(__MACRO,## __VA_ARGS__)   __MACRO(104, ##__VA_ARGS__)
#define MACRO_REPEAT106(__MACRO, ...)       MACRO_REPEAT105(__MACRO,## __VA_ARGS__)   __MACRO(105, ##__VA_ARGS__)
#define MACRO_REPEAT107(__MACRO, ...)       MACRO_REPEAT106(__MACRO,## __VA_ARGS__)   __MACRO(106, ##__VA_ARGS__)
#define MACRO_REPEAT108(__MACRO, ...)       MACRO_REPEAT107(__MACRO,## __VA_ARGS__)   __MACRO(107, ##__VA_ARGS__)
#define MACRO_REPEAT109(__MACRO, ...)       MACRO_REPEAT108(__MACRO,## __VA_ARGS__)   __MACRO(108, ##__VA_ARGS__)
#define MACRO_REPEAT110(__MACRO, ...)       MACRO_REPEAT109(__MACRO,## __VA_ARGS__)   __MACRO(109, ##__VA_ARGS__)
#define MACRO_REPEAT111(__MACRO, ...)       MACRO_REPEAT110(__MACRO,## __VA_ARGS__)   __MACRO(110, ##__VA_ARGS__)
#define MACRO_REPEAT112(__MACRO, ...)       MACRO_REPEAT111(__MACRO,## __VA_ARGS__)   __MACRO(111, ##__VA_ARGS__)
#define MACRO_REPEAT113(__MACRO, ...)       MACRO_REPEAT112(__MACRO,## __VA_ARGS__)   __MACRO(112, ##__VA_ARGS__)
#define MACRO_REPEAT114(__MACRO, ...)       MACRO_REPEAT113(__MACRO,## __VA_ARGS__)   __MACRO(113, ##__VA_ARGS__)
#define MACRO_REPEAT115(__MACRO, ...)       MACRO_REPEAT114(__MACRO,## __VA_ARGS__)   __MACRO(114, ##__VA_ARGS__)
#define MACRO_REPEAT116(__MACRO, ...)       MACRO_REPEAT115(__MACRO,## __VA_ARGS__)   __MACRO(115, ##__VA_ARGS__)
#define MACRO_REPEAT117(__MACRO, ...)       MACRO_REPEAT116(__MACRO,## __VA_ARGS__)   __MACRO(116, ##__VA_ARGS__)
#define MACRO_REPEAT118(__MACRO, ...)       MACRO_REPEAT117(__MACRO,## __VA_ARGS__)   __MACRO(117, ##__VA_ARGS__)
#define MACRO_REPEAT119(__MACRO, ...)       MACRO_REPEAT118(__MACRO,## __VA_ARGS__)   __MACRO(118, ##__VA_ARGS__)
#define MACRO_REPEAT120(__MACRO, ...)       MACRO_REPEAT119(__MACRO,## __VA_ARGS__)   __MACRO(119, ##__VA_ARGS__)
#define MACRO_REPEAT121(__MACRO, ...)       MACRO_REPEAT120(__MACRO,## __VA_ARGS__)   __MACRO(120, ##__VA_ARGS__)
#define MACRO_REPEAT122(__MACRO, ...)       MACRO_REPEAT121(__MACRO,## __VA_ARGS__)   __MACRO(121, ##__VA_ARGS__)
#define MACRO_REPEAT123(__MACRO, ...)       MACRO_REPEAT122(__MACRO,## __VA_ARGS__)   __MACRO(122, ##__VA_ARGS__)
#define MACRO_REPEAT124(__MACRO, ...)       MACRO_REPEAT123(__MACRO,## __VA_ARGS__)   __MACRO(123, ##__VA_ARGS__)
#define MACRO_REPEAT125(__MACRO, ...)       MACRO_REPEAT124(__MACRO,## __VA_ARGS__)   __MACRO(124, ##__VA_ARGS__)
#define MACRO_REPEAT126(__MACRO, ...)       MACRO_REPEAT125(__MACRO,## __VA_ARGS__)   __MACRO(125, ##__VA_ARGS__)
#define MACRO_REPEAT127(__MACRO, ...)       MACRO_REPEAT126(__MACRO,## __VA_ARGS__)   __MACRO(126, ##__VA_ARGS__)
#define MACRO_REPEAT128(__MACRO, ...)       MACRO_REPEAT127(__MACRO,## __VA_ARGS__)   __MACRO(127, ##__VA_ARGS__)
#define MACRO_REPEAT129(__MACRO, ...)       MACRO_REPEAT128(__MACRO,## __VA_ARGS__)   __MACRO(128, ##__VA_ARGS__)
#define MACRO_REPEAT130(__MACRO, ...)       MACRO_REPEAT129(__MACRO,## __VA_ARGS__)   __MACRO(129, ##__VA_ARGS__)
#define MACRO_REPEAT131(__MACRO, ...)       MACRO_REPEAT130(__MACRO,## __VA_ARGS__)   __MACRO(130, ##__VA_ARGS__)
#define MACRO_REPEAT132(__MACRO, ...)       MACRO_REPEAT131(__MACRO,## __VA_ARGS__)   __MACRO(131, ##__VA_ARGS__)
#define MACRO_REPEAT133(__MACRO, ...)       MACRO_REPEAT132(__MACRO,## __VA_ARGS__)   __MACRO(132, ##__VA_ARGS__)
#define MACRO_REPEAT134(__MACRO, ...)       MACRO_REPEAT133(__MACRO,## __VA_ARGS__)   __MACRO(133, ##__VA_ARGS__)
#define MACRO_REPEAT135(__MACRO, ...)       MACRO_REPEAT134(__MACRO,## __VA_ARGS__)   __MACRO(134, ##__VA_ARGS__)
#define MACRO_REPEAT136(__MACRO, ...)       MACRO_REPEAT135(__MACRO,## __VA_ARGS__)   __MACRO(135, ##__VA_ARGS__)
#define MACRO_REPEAT137(__MACRO, ...)       MACRO_REPEAT136(__MACRO,## __VA_ARGS__)   __MACRO(136, ##__VA_ARGS__)
#define MACRO_REPEAT138(__MACRO, ...)       MACRO_REPEAT137(__MACRO,## __VA_ARGS__)   __MACRO(137, ##__VA_ARGS__)
#define MACRO_REPEAT139(__MACRO, ...)       MACRO_REPEAT138(__MACRO,## __VA_ARGS__)   __MACRO(138, ##__VA_ARGS__)
#define MACRO_REPEAT140(__MACRO, ...)       MACRO_REPEAT139(__MACRO,## __VA_ARGS__)   __MACRO(139, ##__VA_ARGS__)
#define MACRO_REPEAT141(__MACRO, ...)       MACRO_REPEAT140(__MACRO,## __VA_ARGS__)   __MACRO(140, ##__VA_ARGS__)
#define MACRO_REPEAT142(__MACRO, ...)       MACRO_REPEAT141(__MACRO,## __VA_ARGS__)   __MACRO(141, ##__VA_ARGS__)
#define MACRO_REPEAT143(__MACRO, ...)       MACRO_REPEAT142(__MACRO,## __VA_ARGS__)   __MACRO(142, ##__VA_ARGS__)
#define MACRO_REPEAT144(__MACRO, ...)       MACRO_REPEAT143(__MACRO,## __VA_ARGS__)   __MACRO(143, ##__VA_ARGS__)
#define MACRO_REPEAT145(__MACRO, ...)       MACRO_REPEAT144(__MACRO,## __VA_ARGS__)   __MACRO(144, ##__VA_ARGS__)
#define MACRO_REPEAT146(__MACRO, ...)       MACRO_REPEAT145(__MACRO,## __VA_ARGS__)   __MACRO(145, ##__VA_ARGS__)
#define MACRO_REPEAT147(__MACRO, ...)       MACRO_REPEAT146(__MACRO,## __VA_ARGS__)   __MACRO(146, ##__VA_ARGS__)
#define MACRO_REPEAT148(__MACRO, ...)       MACRO_REPEAT147(__MACRO,## __VA_ARGS__)   __MACRO(147, ##__VA_ARGS__)
#define MACRO_REPEAT149(__MACRO, ...)       MACRO_REPEAT148(__MACRO,## __VA_ARGS__)   __MACRO(148, ##__VA_ARGS__)
#define MACRO_REPEAT150(__MACRO, ...)       MACRO_REPEAT149(__MACRO,## __VA_ARGS__)   __MACRO(149, ##__VA_ARGS__)
#define MACRO_REPEAT151(__MACRO, ...)       MACRO_REPEAT150(__MACRO,## __VA_ARGS__)   __MACRO(150, ##__VA_ARGS__)
#define MACRO_REPEAT152(__MACRO, ...)       MACRO_REPEAT151(__MACRO,## __VA_ARGS__)   __MACRO(151, ##__VA_ARGS__)
#define MACRO_REPEAT153(__MACRO, ...)       MACRO_REPEAT152(__MACRO,## __VA_ARGS__)   __MACRO(152, ##__VA_ARGS__)
#define MACRO_REPEAT154(__MACRO, ...)       MACRO_REPEAT153(__MACRO,## __VA_ARGS__)   __MACRO(153, ##__VA_ARGS__)
#define MACRO_REPEAT155(__MACRO, ...)       MACRO_REPEAT154(__MACRO,## __VA_ARGS__)   __MACRO(154, ##__VA_ARGS__)
#define MACRO_REPEAT156(__MACRO, ...)       MACRO_REPEAT155(__MACRO,## __VA_ARGS__)   __MACRO(155, ##__VA_ARGS__)
#define MACRO_REPEAT157(__MACRO, ...)       MACRO_REPEAT156(__MACRO,## __VA_ARGS__)   __MACRO(156, ##__VA_ARGS__)
#define MACRO_REPEAT158(__MACRO, ...)       MACRO_REPEAT157(__MACRO,## __VA_ARGS__)   __MACRO(157, ##__VA_ARGS__)
#define MACRO_REPEAT159(__MACRO, ...)       MACRO_REPEAT158(__MACRO,## __VA_ARGS__)   __MACRO(158, ##__VA_ARGS__)
#define MACRO_REPEAT160(__MACRO, ...)       MACRO_REPEAT159(__MACRO,## __VA_ARGS__)   __MACRO(159, ##__VA_ARGS__)
#define MACRO_REPEAT161(__MACRO, ...)       MACRO_REPEAT160(__MACRO,## __VA_ARGS__)   __MACRO(160, ##__VA_ARGS__)
#define MACRO_REPEAT162(__MACRO, ...)       MACRO_REPEAT161(__MACRO,## __VA_ARGS__)   __MACRO(161, ##__VA_ARGS__)
#define MACRO_REPEAT163(__MACRO, ...)       MACRO_REPEAT162(__MACRO,## __VA_ARGS__)   __MACRO(162, ##__VA_ARGS__)
#define MACRO_REPEAT164(__MACRO, ...)       MACRO_REPEAT163(__MACRO,## __VA_ARGS__)   __MACRO(163, ##__VA_ARGS__)
#define MACRO_REPEAT165(__MACRO, ...)       MACRO_REPEAT164(__MACRO,## __VA_ARGS__)   __MACRO(164, ##__VA_ARGS__)
#define MACRO_REPEAT166(__MACRO, ...)       MACRO_REPEAT165(__MACRO,## __VA_ARGS__)   __MACRO(165, ##__VA_ARGS__)
#define MACRO_REPEAT167(__MACRO, ...)       MACRO_REPEAT166(__MACRO,## __VA_ARGS__)   __MACRO(166, ##__VA_ARGS__)
#define MACRO_REPEAT168(__MACRO, ...)       MACRO_REPEAT167(__MACRO,## __VA_ARGS__)   __MACRO(167, ##__VA_ARGS__)
#define MACRO_REPEAT169(__MACRO, ...)       MACRO_REPEAT168(__MACRO,## __VA_ARGS__)   __MACRO(168, ##__VA_ARGS__)
#define MACRO_REPEAT170(__MACRO, ...)       MACRO_REPEAT169(__MACRO,## __VA_ARGS__)   __MACRO(169, ##__VA_ARGS__)
#define MACRO_REPEAT171(__MACRO, ...)       MACRO_REPEAT170(__MACRO,## __VA_ARGS__)   __MACRO(170, ##__VA_ARGS__)
#define MACRO_REPEAT172(__MACRO, ...)       MACRO_REPEAT171(__MACRO,## __VA_ARGS__)   __MACRO(171, ##__VA_ARGS__)
#define MACRO_REPEAT173(__MACRO, ...)       MACRO_REPEAT172(__MACRO,## __VA_ARGS__)   __MACRO(172, ##__VA_ARGS__)
#define MACRO_REPEAT174(__MACRO, ...)       MACRO_REPEAT173(__MACRO,## __VA_ARGS__)   __MACRO(173, ##__VA_ARGS__)
#define MACRO_REPEAT175(__MACRO, ...)       MACRO_REPEAT174(__MACRO,## __VA_ARGS__)   __MACRO(174, ##__VA_ARGS__)
#define MACRO_REPEAT176(__MACRO, ...)       MACRO_REPEAT175(__MACRO,## __VA_ARGS__)   __MACRO(175, ##__VA_ARGS__)
#define MACRO_REPEAT177(__MACRO, ...)       MACRO_REPEAT176(__MACRO,## __VA_ARGS__)   __MACRO(176, ##__VA_ARGS__)
#define MACRO_REPEAT178(__MACRO, ...)       MACRO_REPEAT177(__MACRO,## __VA_ARGS__)   __MACRO(177, ##__VA_ARGS__)
#define MACRO_REPEAT179(__MACRO, ...)       MACRO_REPEAT178(__MACRO,## __VA_ARGS__)   __MACRO(178, ##__VA_ARGS__)
#define MACRO_REPEAT180(__MACRO, ...)       MACRO_REPEAT179(__MACRO,## __VA_ARGS__)   __MACRO(179, ##__VA_ARGS__)
#define MACRO_REPEAT181(__MACRO, ...)       MACRO_REPEAT180(__MACRO,## __VA_ARGS__)   __MACRO(180, ##__VA_ARGS__)
#define MACRO_REPEAT182(__MACRO, ...)       MACRO_REPEAT181(__MACRO,## __VA_ARGS__)   __MACRO(181, ##__VA_ARGS__)
#define MACRO_REPEAT183(__MACRO, ...)       MACRO_REPEAT182(__MACRO,## __VA_ARGS__)   __MACRO(182, ##__VA_ARGS__)
#define MACRO_REPEAT184(__MACRO, ...)       MACRO_REPEAT183(__MACRO,## __VA_ARGS__)   __MACRO(183, ##__VA_ARGS__)
#define MACRO_REPEAT185(__MACRO, ...)       MACRO_REPEAT184(__MACRO,## __VA_ARGS__)   __MACRO(184, ##__VA_ARGS__)
#define MACRO_REPEAT186(__MACRO, ...)       MACRO_REPEAT185(__MACRO,## __VA_ARGS__)   __MACRO(185, ##__VA_ARGS__)
#define MACRO_REPEAT187(__MACRO, ...)       MACRO_REPEAT186(__MACRO,## __VA_ARGS__)   __MACRO(186, ##__VA_ARGS__)
#define MACRO_REPEAT188(__MACRO, ...)       MACRO_REPEAT187(__MACRO,## __VA_ARGS__)   __MACRO(187, ##__VA_ARGS__)
#define MACRO_REPEAT189(__MACRO, ...)       MACRO_REPEAT188(__MACRO,## __VA_ARGS__)   __MACRO(188, ##__VA_ARGS__)
#define MACRO_REPEAT190(__MACRO, ...)       MACRO_REPEAT189(__MACRO,## __VA_ARGS__)   __MACRO(189, ##__VA_ARGS__)
#define MACRO_REPEAT191(__MACRO, ...)       MACRO_REPEAT190(__MACRO,## __VA_ARGS__)   __MACRO(190, ##__VA_ARGS__)
#define MACRO_REPEAT192(__MACRO, ...)       MACRO_REPEAT191(__MACRO,## __VA_ARGS__)   __MACRO(191, ##__VA_ARGS__)
#define MACRO_REPEAT193(__MACRO, ...)       MACRO_REPEAT192(__MACRO,## __VA_ARGS__)   __MACRO(192, ##__VA_ARGS__)
#define MACRO_REPEAT194(__MACRO, ...)       MACRO_REPEAT193(__MACRO,## __VA_ARGS__)   __MACRO(193, ##__VA_ARGS__)
#define MACRO_REPEAT195(__MACRO, ...)       MACRO_REPEAT194(__MACRO,## __VA_ARGS__)   __MACRO(194, ##__VA_ARGS__)
#define MACRO_REPEAT196(__MACRO, ...)       MACRO_REPEAT195(__MACRO,## __VA_ARGS__)   __MACRO(195, ##__VA_ARGS__)
#define MACRO_REPEAT197(__MACRO, ...)       MACRO_REPEAT196(__MACRO,## __VA_ARGS__)   __MACRO(196, ##__VA_ARGS__)
#define MACRO_REPEAT198(__MACRO, ...)       MACRO_REPEAT197(__MACRO,## __VA_ARGS__)   __MACRO(197, ##__VA_ARGS__)
#define MACRO_REPEAT199(__MACRO, ...)       MACRO_REPEAT198(__MACRO,## __VA_ARGS__)   __MACRO(198, ##__VA_ARGS__)
#define MACRO_REPEAT200(__MACRO, ...)       MACRO_REPEAT199(__MACRO,## __VA_ARGS__)   __MACRO(199, ##__VA_ARGS__)
#define MACRO_REPEAT201(__MACRO, ...)       MACRO_REPEAT200(__MACRO,## __VA_ARGS__)   __MACRO(200, ##__VA_ARGS__)
#define MACRO_REPEAT202(__MACRO, ...)       MACRO_REPEAT201(__MACRO,## __VA_ARGS__)   __MACRO(201, ##__VA_ARGS__)
#define MACRO_REPEAT203(__MACRO, ...)       MACRO_REPEAT202(__MACRO,## __VA_ARGS__)   __MACRO(202, ##__VA_ARGS__)
#define MACRO_REPEAT204(__MACRO, ...)       MACRO_REPEAT203(__MACRO,## __VA_ARGS__)   __MACRO(203, ##__VA_ARGS__)
#define MACRO_REPEAT205(__MACRO, ...)       MACRO_REPEAT204(__MACRO,## __VA_ARGS__)   __MACRO(204, ##__VA_ARGS__)
#define MACRO_REPEAT206(__MACRO, ...)       MACRO_REPEAT205(__MACRO,## __VA_ARGS__)   __MACRO(205, ##__VA_ARGS__)
#define MACRO_REPEAT207(__MACRO, ...)       MACRO_REPEAT206(__MACRO,## __VA_ARGS__)   __MACRO(206, ##__VA_ARGS__)
#define MACRO_REPEAT208(__MACRO, ...)       MACRO_REPEAT207(__MACRO,## __VA_ARGS__)   __MACRO(207, ##__VA_ARGS__)
#define MACRO_REPEAT209(__MACRO, ...)       MACRO_REPEAT208(__MACRO,## __VA_ARGS__)   __MACRO(208, ##__VA_ARGS__)
#define MACRO_REPEAT210(__MACRO, ...)       MACRO_REPEAT209(__MACRO,## __VA_ARGS__)   __MACRO(209, ##__VA_ARGS__)
#define MACRO_REPEAT211(__MACRO, ...)       MACRO_REPEAT210(__MACRO,## __VA_ARGS__)   __MACRO(210, ##__VA_ARGS__)
#define MACRO_REPEAT212(__MACRO, ...)       MACRO_REPEAT211(__MACRO,## __VA_ARGS__)   __MACRO(211, ##__VA_ARGS__)
#define MACRO_REPEAT213(__MACRO, ...)       MACRO_REPEAT212(__MACRO,## __VA_ARGS__)   __MACRO(212, ##__VA_ARGS__)
#define MACRO_REPEAT214(__MACRO, ...)       MACRO_REPEAT213(__MACRO,## __VA_ARGS__)   __MACRO(213, ##__VA_ARGS__)
#define MACRO_REPEAT215(__MACRO, ...)       MACRO_REPEAT214(__MACRO,## __VA_ARGS__)   __MACRO(214, ##__VA_ARGS__)
#define MACRO_REPEAT216(__MACRO, ...)       MACRO_REPEAT215(__MACRO,## __VA_ARGS__)   __MACRO(215, ##__VA_ARGS__)
#define MACRO_REPEAT217(__MACRO, ...)       MACRO_REPEAT216(__MACRO,## __VA_ARGS__)   __MACRO(216, ##__VA_ARGS__)
#define MACRO_REPEAT218(__MACRO, ...)       MACRO_REPEAT217(__MACRO,## __VA_ARGS__)   __MACRO(217, ##__VA_ARGS__)
#define MACRO_REPEAT219(__MACRO, ...)       MACRO_REPEAT218(__MACRO,## __VA_ARGS__)   __MACRO(218, ##__VA_ARGS__)
#define MACRO_REPEAT220(__MACRO, ...)       MACRO_REPEAT219(__MACRO,## __VA_ARGS__)   __MACRO(219, ##__VA_ARGS__)
#define MACRO_REPEAT221(__MACRO, ...)       MACRO_REPEAT220(__MACRO,## __VA_ARGS__)   __MACRO(220, ##__VA_ARGS__)
#define MACRO_REPEAT222(__MACRO, ...)       MACRO_REPEAT221(__MACRO,## __VA_ARGS__)   __MACRO(221, ##__VA_ARGS__)
#define MACRO_REPEAT223(__MACRO, ...)       MACRO_REPEAT222(__MACRO,## __VA_ARGS__)   __MACRO(222, ##__VA_ARGS__)
#define MACRO_REPEAT224(__MACRO, ...)       MACRO_REPEAT223(__MACRO,## __VA_ARGS__)   __MACRO(223, ##__VA_ARGS__)
#define MACRO_REPEAT225(__MACRO, ...)       MACRO_REPEAT224(__MACRO,## __VA_ARGS__)   __MACRO(224, ##__VA_ARGS__)
#define MACRO_REPEAT226(__MACRO, ...)       MACRO_REPEAT225(__MACRO,## __VA_ARGS__)   __MACRO(225, ##__VA_ARGS__)
#define MACRO_REPEAT227(__MACRO, ...)       MACRO_REPEAT226(__MACRO,## __VA_ARGS__)   __MACRO(226, ##__VA_ARGS__)
#define MACRO_REPEAT228(__MACRO, ...)       MACRO_REPEAT227(__MACRO,## __VA_ARGS__)   __MACRO(227, ##__VA_ARGS__)
#define MACRO_REPEAT229(__MACRO, ...)       MACRO_REPEAT228(__MACRO,## __VA_ARGS__)   __MACRO(228, ##__VA_ARGS__)
#define MACRO_REPEAT230(__MACRO, ...)       MACRO_REPEAT229(__MACRO,## __VA_ARGS__)   __MACRO(229, ##__VA_ARGS__)
#define MACRO_REPEAT231(__MACRO, ...)       MACRO_REPEAT230(__MACRO,## __VA_ARGS__)   __MACRO(230, ##__VA_ARGS__)
#define MACRO_REPEAT232(__MACRO, ...)       MACRO_REPEAT231(__MACRO,## __VA_ARGS__)   __MACRO(231, ##__VA_ARGS__)
#define MACRO_REPEAT233(__MACRO, ...)       MACRO_REPEAT232(__MACRO,## __VA_ARGS__)   __MACRO(232, ##__VA_ARGS__)
#define MACRO_REPEAT234(__MACRO, ...)       MACRO_REPEAT233(__MACRO,## __VA_ARGS__)   __MACRO(233, ##__VA_ARGS__)
#define MACRO_REPEAT235(__MACRO, ...)       MACRO_REPEAT234(__MACRO,## __VA_ARGS__)   __MACRO(234, ##__VA_ARGS__)
#define MACRO_REPEAT236(__MACRO, ...)       MACRO_REPEAT235(__MACRO,## __VA_ARGS__)   __MACRO(235, ##__VA_ARGS__)
#define MACRO_REPEAT237(__MACRO, ...)       MACRO_REPEAT236(__MACRO,## __VA_ARGS__)   __MACRO(236, ##__VA_ARGS__)
#define MACRO_REPEAT238(__MACRO, ...)       MACRO_REPEAT237(__MACRO,## __VA_ARGS__)   __MACRO(237, ##__VA_ARGS__)
#define MACRO_REPEAT239(__MACRO, ...)       MACRO_REPEAT238(__MACRO,## __VA_ARGS__)   __MACRO(238, ##__VA_ARGS__)
#define MACRO_REPEAT240(__MACRO, ...)       MACRO_REPEAT239(__MACRO,## __VA_ARGS__)   __MACRO(239, ##__VA_ARGS__)
#define MACRO_REPEAT241(__MACRO, ...)       MACRO_REPEAT240(__MACRO,## __VA_ARGS__)   __MACRO(240, ##__VA_ARGS__)
#define MACRO_REPEAT242(__MACRO, ...)       MACRO_REPEAT241(__MACRO,## __VA_ARGS__)   __MACRO(241, ##__VA_ARGS__)
#define MACRO_REPEAT243(__MACRO, ...)       MACRO_REPEAT242(__MACRO,## __VA_ARGS__)   __MACRO(242, ##__VA_ARGS__)
#define MACRO_REPEAT244(__MACRO, ...)       MACRO_REPEAT243(__MACRO,## __VA_ARGS__)   __MACRO(243, ##__VA_ARGS__)
#define MACRO_REPEAT245(__MACRO, ...)       MACRO_REPEAT244(__MACRO,## __VA_ARGS__)   __MACRO(244, ##__VA_ARGS__)
#define MACRO_REPEAT246(__MACRO, ...)       MACRO_REPEAT245(__MACRO,## __VA_ARGS__)   __MACRO(245, ##__VA_ARGS__)
#define MACRO_REPEAT247(__MACRO, ...)       MACRO_REPEAT246(__MACRO,## __VA_ARGS__)   __MACRO(246, ##__VA_ARGS__)
#define MACRO_REPEAT248(__MACRO, ...)       MACRO_REPEAT247(__MACRO,## __VA_ARGS__)   __MACRO(247, ##__VA_ARGS__)
#define MACRO_REPEAT249(__MACRO, ...)       MACRO_REPEAT248(__MACRO,## __VA_ARGS__)   __MACRO(248, ##__VA_ARGS__)
#define MACRO_REPEAT250(__MACRO, ...)       MACRO_REPEAT249(__MACRO,## __VA_ARGS__)   __MACRO(249, ##__VA_ARGS__)
#define MACRO_REPEAT251(__MACRO, ...)       MACRO_REPEAT250(__MACRO,## __VA_ARGS__)   __MACRO(250, ##__VA_ARGS__)
#define MACRO_REPEAT252(__MACRO, ...)       MACRO_REPEAT251(__MACRO,## __VA_ARGS__)   __MACRO(251, ##__VA_ARGS__)
#define MACRO_REPEAT253(__MACRO, ...)       MACRO_REPEAT252(__MACRO,## __VA_ARGS__)   __MACRO(252, ##__VA_ARGS__)
#define MACRO_REPEAT254(__MACRO, ...)       MACRO_REPEAT253(__MACRO,## __VA_ARGS__)   __MACRO(253, ##__VA_ARGS__)
#define MACRO_REPEAT255(__MACRO, ...)       MACRO_REPEAT254(__MACRO,## __VA_ARGS__)   __MACRO(254, ##__VA_ARGS__)
#define MACRO_REPEAT256(__MACRO, ...)       MACRO_REPEAT255(__MACRO,## __VA_ARGS__)   __MACRO(255, ##__VA_ARGS__)


#endif  /* _MACRO_REPEAT_H_ */
